/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package lintulaskenta.tipuapiValidointi;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import lintulaskenta.tipuapiValidointi.Document.Node;


/**
 *
 * @author jukkapajunen, jjnyman
 */
public class TipuAPITesteri {

    //tipun yhteyttä varten muuttujia, voidaan siis poistaa kun ei käytetä enää salasana.txt:tä yhteydenottoon
    private static String[] salasanat;
    private static BufferedReader buffreader;


    /*
     * Luokaa omaan kansioon tiedosto, jossa ensimmäisellä rivillä url, tokalla käyttäjätunnus ja kolmannella passu.
     * Ei sitten vahingossa mene googleen tipun passuja, vaan korkeintaan teidän kotihakemiston polku.
     * Jotain ongelmia ilmennyt laitoksenkin koneiden kanssa että tiedoston luku failaa ja tulee /HR-tagin puuttumisesta
     * virheilmoa. Jotain häikkää tässä tapauksessa salasanafilun lukemisessa. Merkistön tulisi olla UTF-8 ja rivinvaihdomerkin
     * UNIX.
     */
    private static void salasanat() throws FileNotFoundException, IOException{
        salasanat = new String[3];
        FileInputStream file = new FileInputStream("/Users/jukkapajunen/Documents/Koulu/OhTuProje/tipu-apin_passut.txt");
        DataInputStream in = new DataInputStream(file);
        buffreader = new BufferedReader(new InputStreamReader(in));
        salasanat[0] = buffreader.readLine().trim();
        salasanat[1] = buffreader.readLine().trim();
        salasanat[2] = buffreader.readLine().trim();
    }
   

    public static void main(String[] args) throws FileNotFoundException, IOException {
                System.out.println("testing testing");
		TipuApiValidator validator = new TipuApiValidator();
                if (validator.tarkistaLintulaji("FRICOE") == false){    // testimetodi
                    System.out.println("Ei löydy");
                    }
                else System.out.println("Löytyy");

                if (validator.tarkistaKunta("DRAGSF") == false){    // testimetodi
                    System.out.println("Ei löydy");
                    }
                else System.out.println("Löytyy");

                if (validator.tarkistapeninkulmaruutu("DRAGSF", 664, 24) == false){    // testimetodi
                    System.out.println("Ei löydy");
                    validator.sulje();
                    }
                else System.out.println("Löytyy");
                validator.sulje();
	}

    private static void TipuAPITesteri() {
		TipuAPIClient api = null;

		try {
                        salasanat();
                        api = new TipuAPIClient(salasanat[0], salasanat[1], salasanat[2]);
			TipuApiResource r = api.get(TipuAPIClientInterface.SPECIES);
			Node helmipollo = r.getById("AEGFUN");
			String nimi_suomi = helmipollo.getNode("name").getContents();
			assert(nimi_suomi.equals("Helmipöllö"));
			String nimi_latina = "";
			for (Node n : helmipollo.getChildNodes("name")) {
				if (n.getAttribute("lang").equals("LA")) {
					nimi_latina = n.getContents();
					break;
				}
			}
			assert(nimi_latina.equals("Aegolius funereus"));
                        System.out.println(nimi_latina);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (api != null) api.close();
		}
	}
}
